// import 'package:fijkplayer/fijkplayer.dart';
// import 'package:flutter/material.dart';
// import 'package:bot_toast/bot_toast.dart';
// import 'package:shopping_group/entity/rich_text_entity.dart';
// import 'package:shopping_group/event/event.dart';
// import 'package:shopping_group/res/colors.dart';
// import 'package:shopping_group/res/dimens.dart';
// import 'package:shopping_group/utils/log_util.dart';
// import 'object_util.dart';
// import 'route_util.dart';
// import 'widget_utils.dart';

// class IjkPlayerUtil {
//   FijkPlayer _controller;
//   BuildContext mContext;
//   bool isOpen = false;
//   void initVideoPlayer(String url) {
//     if (ObjectUtil.isEmptyString(url)) {
//       return;
//     }
//     _controller = FijkPlayer();
//     _controller.setOption(FijkOption.playerCategory, 'packet-buffering', 0);
//     _controller.setOption(FijkOption.playerCategory, 'framedrop', 1);
//     _controller.setDataSource(url, autoPlay: true);
//     _controller.addListener(_fijkValueListener);
//     BotToast.showLoading();
//   }

//   Widget initView(BuildContext context,
//       {double height: 200, double horizontalPadding: 16, String time}) {
//     mContext = context;
//     if (null == _controller) {
//       return Container();
//     }
//     return Container(
//       margin: EdgeInsets.symmetric(horizontal: 0),
//       // height: height, // 这里随意
//       child: FijkView(
//           fsFit: FijkFit.fill,
//           fit: FijkFit.fill,
//           color: Colours.transparent,
//           player: _controller,
//           panelBuilder: (FijkPlayer player, FijkData data, BuildContext context,
//               Size viewSize, Rect texturePos) {
//             /// 使用自定义的布局
//             return initCostomView(time: time);
//           }),
//     );
//   }

//   Widget initCostomView(
//       {double height: 200,
//       double horizontalPadding: 16,
//       double width: 460,
//       Function blackCallback,
//       String time}) {
//     return Container(
//       color: Colours.transparent,
//       child: FijkView(
//           fsFit: FijkFit.fill,
//           player: _controller,
//           panelBuilder: (FijkPlayer player, FijkData data, BuildContext context,
//               Size viewSize, Rect texturePos) {
//             /// 使用自定义的布局
//             return Column(
//               mainAxisAlignment: MainAxisAlignment.start,
//               crossAxisAlignment: CrossAxisAlignment.start,
//               children: <Widget>[
//                 Container(
//                   // height: 52,
//                   // width: width,
//                   color: Colours.transparent,
//                   child: Row(
//                     children: <Widget>[
//                     //   SizedBox(
//                     //     width: 32,
//                     //   ),
//                     //  _closeView(),
//                       Expanded(child: Container()),
//                       SizedBox(
//                         width: 8,
//                       ),
//                       _showTimeView(time),
//                       SizedBox(
//                         width: 32,
//                       ),
//                     ],
//                   ),
//                 ),
//                 // Expanded(child: Container()),
//                 // HandleWidget(),
//                 // SizedBox(
//                 //   height: 8,
//                 // ),
//               ],
//             );
//           }),
//     );
//   }

//   Widget _closeView() {
//     return GestureDetector(
//       onTap: () {
//         _showAdView();
//       },
//       child: Container(
//         width: 32,
//         height: 32,
//         margin: const EdgeInsets.symmetric(vertical: 32, horizontal: 16),
//         decoration: BoxDecoration(
//             border: Border.all(color: Colours.transparent_80, width: 1.0),
//             borderRadius: BorderRadius.circular(60.0),
//             color: Colours.transparent_80),
//         child: Icon(
//           Icons.close,
//           color: Colours.title_white,
//           size: 16,
//         ),
//       ),
//     );
//   }

//   Widget _showTimeView(time) {
//     List<RichTextEntity> list = [];
//     list
//       ..add(RichTextEntity()
//         ..backgroundColor = Colours.transparent
//         ..title = '剩余 '
//         ..textColor = Colours.title_white
//         ..size = Dimens.FONT_SIZE_14)
//       ..add(RichTextEntity()
//         ..backgroundColor = Colours.transparent
//         ..title = time
//         ..textColor = Colours.red_606
//         ..size = Dimens.FONT_SIZE_14)
//       ..add(RichTextEntity()
//         ..backgroundColor = Colours.transparent
//         ..title = ' 秒'
//         ..textColor = Colours.title_white
//         ..size = Dimens.FONT_SIZE_14);
//     return Container(
//         alignment: Alignment.center,
//         margin: const EdgeInsets.symmetric(vertical: 32, horizontal: 16),
//         child: WidgetUtils.getRichTextView(list));

//     // Container(
//     //   alignment: Alignment.center,
//     //   margin: const EdgeInsets.symmetric(vertical: 32, horizontal: 16),
//     //   child: Row(
//     //     mainAxisAlignment: MainAxisAlignment.spaceEvenly,
//     //     crossAxisAlignment: CrossAxisAlignment.center,
//     //     children: <Widget>[
//     //       WidgetUtils.getTextColorView(
//     //         '剩余 ',
//     //         Colours.title_white,
//     //         Dimens.FONT_SIZE_14,
//     //       ),
//     //       WidgetUtils.getTextColorView(
//     //         time,
//     //         Colours.red_606,
//     //         Dimens.FONT_SIZE_14,
//     //       ),
//     //       WidgetUtils.getTextColorView(
//     //         ' 秒',
//     //         Colours.title_white,
//     //         Dimens.FONT_SIZE_14,
//     //       ),
//     //     ],
//     //   ),
//     // );
//   }

//   Future _showAdView() async {
//     showDialog(
//         context: mContext,
//         barrierDismissible: true,
//         builder: (context) {
//           return showAlertDialog();
//         }).then((var result) {
//       if (null == result) {
//         return;
//       }

//       if (result is String && 'yes' == result) {
//         dispose();
//         RouteUtil.closeView();
//       }
//     });
//   }

//   Widget showAlertDialog() {
//     isOpen = true;
//     return SimpleDialog(
//       title: WidgetUtils.getTextColorView(
//           '确认关闭', Colours.themeColor, Dimens.FONT_SIZE_18),
//       children: <Widget>[
//         Padding(
//           padding: const EdgeInsets.symmetric(horizontal: 4),
//           child: Column(
//             mainAxisAlignment: MainAxisAlignment.center,
//             crossAxisAlignment: CrossAxisAlignment.center,
//             children: <Widget>[
//               Padding(
//                 padding:
//                     const EdgeInsets.symmetric(vertical: 24, horizontal: 8),
//                 child: WidgetUtils.getTextColorView(
//                     '关闭后你将不会获取任何奖励', Colours.gray_91, Dimens.FONT_SIZE_16),
//               ),
//               SizedBox(
//                 height: 16,
//               ),
//               showCancelBottom()
//             ],
//           ),
//         ),
//       ],
//     );
//   }

//   Widget showCancelBottom() {
//     return Flex(
//       direction: Axis.horizontal,
//       mainAxisAlignment: MainAxisAlignment.center,
//       crossAxisAlignment: CrossAxisAlignment.center,
//       children: <Widget>[
//         GestureDetector(
//           onTap: () {
//             _closeDailog('yes');
//           },
//           child: WidgetUtils.showBoxBotton('确认关闭',
//               borderColor: Colours.gray_91,
//               textColor: Colours.gray_91,
//               borderRadius: 20),
//         ),
//         SizedBox(
//           width: 8,
//         ),
//         GestureDetector(
//           onTap: () {
//             _closeDailog('');
//           },
//           child: WidgetUtils.showBoxBotton('继续观看',
//               borderColor: Colours.themeColor,
//               boxColor: Colours.themeColor,
//               textColor: Colours.title_white,
//               borderRadius: 20,
//               horizontalPadding: 16),
//         ),
//       ],
//     );
//   }

//   _closeDailog(val) {
//     isOpen = false;
//     Navigator.of(mContext).pop(val);
//   }

//   // Widget _showBlackView() {
//   //   return GestureDetector(
//   //     onTap: () {
//   //       RouteUtil.closeView();
//   //     },
//   //     child: Container(
//   //       width: 32,
//   //       height: 32,
//   //       margin: const EdgeInsets.symmetric(vertical: 32, horizontal: 16),
//   //       decoration: BoxDecoration(
//   //           border: Border.all(color: Colours.transparent_80, width: 1.0),
//   //           borderRadius: BorderRadius.circular(60.0),
//   //           color: Colours.transparent_80),
//   //       child: Icon(
//   //         Icons.arrow_back_ios,
//   //         color: Colours.title_white,
//   //         size: 16,
//   //       ),
//   //     ),
//   //   );
//   // }

//   void _fijkValueListener() async {
//     FijkValue value = _controller.value;
//     // LogUtil.e(value.toString(),
//     //     tag: 'FijkValue _controller........................');
//     if (value.prepared) {
//       // LogUtil.v(value.prepared.toString(),
//       //     tag: 'FijkValue value.prepared........................');
//       // BotToast.showLoading();
//     }

//     if (isPlay()) {
//       // LogUtil.e(value, tag: 'FijkValue isPlay........................');
//       int time = value.duration.inSeconds;
//       eventBus.fire(VideoTimeEvent(time.toString()));
//       BotToast.closeAllLoading();
//     }
//     if (value.state == FijkState.completed) {
//       // LogUtil.e(value.completed,
//       //     tag: 'FijkValue completed........................');
//       if (isOpen) {
//         _closeDailog('');
//       }
//       eventBus.fire(VideoCompleteEvent());
//     }
//   }

//   void playerValueChanged() {
//     if (!isPlay()) {
//       startVideo();
//     } else {
//       stopVideo();
//     }
//   }

//   bool isPlay() {
//     FijkValue value = _controller.value;
//     bool playing = (value.state == FijkState.started);
//     return playing;
//   }

//   void startVideo() {
//     _controller.start();
//   }

//   void scrreenController() {
//     // if (_controller.value.fullScreen == false) {
//     _controller.enterFullScreen();
//     // } else {
//     //   _controller.pause().then((value) => _controller.exitFullScreen());
//     // }
//   }

//   void stopVideo() {
//     _controller.pause();
//   }

//   void dispose() {
//     if (null == _controller) {
//       return;
//     }
//     if (null != _fijkValueListener) {
//       _controller.removeListener(_fijkValueListener);
//     }
//     _controller.stop();
//     _controller.release();
//     _controller = null;
//   }
// }
